General purpose processors such as Intel®, AMD®, and IBM POWER® are designed to support a wide range of workloads. If processing power beyond existing capabilities is required, then hardware accelerators may be attached to a computer system to meet the requirements of a particular application. Hardware accelerators can also be used to address performance bottlenecks. These accelerators are viewed as computing resources that can be utilized by the system. Examples of hardware accelerators include field programmable arrays (FPGAs), the IBM Cell B.E. (broadband engine) processor, and graphics processing units (GPUs). Accelerators have a better price/performance point for their specific tasks than a general processor of the system. Hardware accelerators can be attached directly to the processor complex or nest, such as through PCI-express I/O slots or using high-speed networks such as Ethernet and Infiniband®.
Conventional workload management systems distribute accelerator resources assigned to a particular host system among the jobs running on the host. However, these conventional workload management systems, in general, do not effectively and efficiently utilize available accelerator resources assigned across multiple systems.